Trellis codes, such as convolutional codes, trellis coded modulation, and bit-interleaved coded modulations, have been widely used to improve the performance of a wireless communications system. A trellis code encoder inserts redundant bits to an original message, whereas a trellis code decoder utilizes the redundant bits to recover the original message that may be corrupted by channel noise. However, it is still possible that the trellis code decoder fails to recover the original message as a result of severe channel noise. In other words, whether the original message will be retrieved correctly is related to the severity of channel noise and the quantity of the redundant bits.
Most wireless communications systems rely on the error detection code (EDC), such as the cyclic redundancy check (CRC), to ensure that a message decoded by a trellis code decoder is correct. The CRC coding method pads an original message with parity bits. After a trellis code decoder decodes the receiving message, an EDC decoder further examines whether there is a CRC error in the receiving message. The detection of a CRC error indicates that one or more bit errors exist in the decoded message. In a wireless communications system employing automatic repeat-request (ARQ), the receiver can request the sender to re-transmit the message.
A message is divided into segments in some wireless communications systems. Each segment is encoded by a convolutional code and subsequently, a codeword is formed for each segment. The EDC is used to protect the original message before it is divided into segments. When an EDC decoder detects a CRC error in the receiving message, the receiver cannot distinguish the one or more codewords with an error from those without one. Therefore, the receiver requests the transmitter to re-transmit all the codewords of the message.
In reality, the probability that there is an error in each of the codewords of a message is very small. It is inefficient for a wireless communications system to re-transmit all the codewords when only one or a few of them have errors. The efficiency of the system can be greatly improved by detecting and re-transmitting only the codeword or codewords that have an error.
As such, what is desired is a method and system for identifying codewords with localized burst errors, re-transmitting only the corrupted codewords, rather than all the codewords comprising the whole message, and thereby improving the efficiency of a wireless communications network.